java - 没有测试用例的 super JUnit 类
全部标签 我有一个MiniTest套件。我使用的是基本的Minitest::Unit::TestCase,而不是规范。我在我的TestCase子类中定义了setup和teardown方法。当我像这样运行测试文件时,它们可以完美运行:rubytest/whatever_test.rb。但是当我运行raketest时,setup和teardown没有被调用。我的Rakefile的相关部分是:require'rake/testtask'Rake::TestTask.newdo|t|t.test_files=FileList['test/*_test.rb']t.verbose=trueend为什么在使
有没有一种方法可以在Ruby中找到以特定字符串开头的所有变量?例如,我的ruby程序中有以下变量:ret_d=1ret_d2=23是否有返回["ret_d","ret_d2"]的函数?问题是我没有所有变量的集合。 最佳答案 Kernel#local_variables应该可以解决问题。>>ret_d=1=>1>>ret_d2=23=>23>>local_variables=>["_","ret_d","ret_d2"]>>local_variables.select{|v|v=~/^ret_/}=>["ret_d","ret
我正在编写一个作为gem的API包装器,我想使用RSpec测试API响应。问题是所有API请求都是使用GET发出的,并且在url中包含一个APIkey:例如游戏/元数据/{api_key}这给测试带来了问题,因为我不想将APIkey保留在git存储库历史记录中。有什么方法可以进行这些规范测试,最好是使用RSpec/VCR,而不是将APIkey存储在版本控制中?我试过使用环境变量,但VCR仍然存储整个请求,而不仅仅是响应主体。 最佳答案 VCR有一个专门针对这些情况的配置选项:VCR.configuredo|c|c.filter_se
我找不到任何关于这是否可能的信息,但它会很有用及时思考。例如,我试图找出其中哪一个更快:[val2,val3,val4,val5,val6].find{|x|x!=val1}[val2,val3,val4,val5,val6].all?{|x|x==val1}有这样的东西吗?[val2,val3,val4,val5,val6].find{|x|x!=val1}.performance 最佳答案 有!而且您甚至不需要Rails。查看benchmark来自标准库。作为示例:require'benchmark'putsBenchmark.
是否有必要对ActiveRecord验证进行单元测试,或者它们已经经过充分测试,因此足够可靠? 最佳答案 验证本身应该是可信的,但您可能想检查验证是否存在。换句话说,测试某样东西的好方法就是把它当作一个黑盒子,从实现中抽象出测试,所以例如你可能有一个测试来检查一个人模型是否在没有它的情况下无法保存一个名字,但不关心Person类如何执行该验证。 关于ruby-on-rails-是否有必要对ActiveRecord验证进行单元测试?,我们在StackOverflow上找到一个类似的问题:
这个问题在这里已经有了答案:rspeccommandlinevariableinput(1个回答)关闭9年前。挑战嗨!对于以下Ruby方法,如何在不重写方法的情况下使用RSpec测试模拟用户输入?defcapture_nameputs"Whatisyourname?"gets.chompend我找到了asimilarquestion,但这种方法需要使用一个类来创建。RSpec是否支持对不在类中的方法进行stub?一个不同的作品,但我不得不重写方法我可以重写该方法,使其具有默认值为“gets.chomp”的变量,如下所示:defcapture_name(user_input=gets.c
我正在关注railstutorial.org第3版,目前正在研究第8章:登录、注销。我在代码list8.51中发现了一个问题(登录时不记得测试):assert_nilcookies['remember_token']当我执行:raketest时,返回红色并出现以下错误:FAIL["test_login_without_remembering",UsersLoginTest,1.268578948]test_login_without_remembering#UsersLoginTest(1.27s)Expected""tobenil.test/integration/users_log
我正在使用friendly_id5.0.0.rc1,还有active_admin。除了在active_admin中更新记录的slug属性/列没有做任何事情(它保持不变)之外,一切似乎都按预期完美运行我在使用控制台时发现了相同的行为:p=Post.firstp.slug#=>'test'p.slug='another-test'p.save#=>truep.slug#=>'test我的配置:FriendlyId.defaultsdo|config|config.use:reservedconfig.reserved_words=%w(adminneweditindexsessionuse
下面的crontab-l好像没有运行。手动运行的脚本运行良好。这是我看到的错误Dec320:12:01dahlia/USR/SBIN/CRON[13912]:(gigawatt)CMD(/bin/sh-c"(exportPATH=/usr/bin:/bin;/home/gigawatt/drbronnersbot/drbronnersbot.rb)")Dec320:12:01dahlia/USR/SBIN/CRON[13910]:(CRON)error(grandchild#13912failedwithexitstatus1)这是crontab:*****/bin/sh-c"(exp
我有一个具有以下初始化方法的类。definitialize(my_var)@my_var=my_varend然后我想测试对@my_var做些什么的方法defsplit@my_var.split(",")end如何在测试它正确返回数组之前更改@my_var?如果没有@my_var的访问器,这是可能的吗? 最佳答案 这听起来不像是正确的做法。Rspec应该测试类和模型的接口(interface)行为——而不是内部实现(无疑是实例变量)。有多种方法可以做到这一点,但您确定不想为该变量设置访问器吗?无论如何,您可以使用my_object.i